package ar.com.logic.components.strategy;

import java.util.List;

import ar.com.logic.components.Numero;
import ar.com.logic.components.interfaces.IHistoricoRespuestas;
import ar.com.logic.components.interfaces.IMatrizPosiciones;
import ar.com.logic.evaluador.Respuesta;

public interface IEstrategia {
	public static String RANDOM = "RANDOM";
	public static String CORTE = "CORTE";
	public static String FUERZA_BRUTA = "FUERZA_BRUTA";
	public static String DESCARTE_POS_UNICA = "DESCARTE_POS_UNICA";
	public static String INICIAL = "INICIAL";
	public static String TRESB0C = "3 BIEN 0 CONOCIDOS";
	public Numero getSiguienteNumero();
	public String getNombre();
	public List<Respuesta> getRespuestasEsperadas();
	public void actualizarPorRespuestaEsperada(Respuesta r);
	public boolean esCondicionEsperada(IMatrizPosiciones matriz, IHistoricoRespuestas historico);
	public boolean esUnicaEjecucion();
	public Integer getPriority();
	public boolean estaDescartada();
	

}
